iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
DevOps

在後端漫遊,基礎N大建設系列 第 4

Day04 怎麼管理多個伺服器環境?

  • 分享至 

  • xImage
  •  

昨天文章裡架設一台簡單的API伺服器,呈現了伺服器可以處理請求者的資訊,同時也代表著我們可以運用伺服器搭配資料庫保存請求者的資料。

因此我們會在自己電腦(簡稱本機)架設資料庫(簡稱DB),接著開發一連串API功能,與資料庫連接做資料保存。
但是往往現實中,本機環境與產品線上環境必定會分開的。因為我們不可能把產品線上環境與本機環境的DB做共用,以免本機開發不小心把資料刪除了,產品線上環境的資料莫名消失了,大概也要被老闆給炒了!/images/emoticon/emoticon16.gif

所以實際上,產品線上環境肯定是獨立一個資料庫,並且帳號密碼會設定複雜一些,避免被有心人士揣測帳密,而被竊取或攻擊資料庫。而本機開發用的資料庫帳密肯定會設定簡單一點,方便工程師開發,不然還要輸入複雜的帳密肯定會從開發到放棄。/images/emoticon/emoticon20.gif

因此我們勢必要區分「本機」與「線上產品」的環境設定,但是要如何區分呢?就談到所謂的配置檔了

什麼是配置檔(Config)?

Config是一種用於區分各種專案環境的設定檔的名詞。
簡單來說就是把每個環境會需要使用的資訊,分別寫在獨立的檔案(簡稱設定檔)。之後在啟動伺服器時候,再根據不同的環境,載入對應的設定檔,讓伺服器得知要連資料庫的帳密是什麼、或是呼叫合作方API的IP是多少...等。

舉例:
本機有一個配置檔,命名為local.toml

# local.toml
db_username = "root"
db_password = "123456"

線上產品環境有一個配置檔,命名為prod.toml

# prod.toml
db_username = "user_for_program"
db_password = "$2a$08$6uYZO.6UR2Um.NdBqFH/0ebgXjk4gdQO41C8RAPWhMFMX5nzGnQlK"

如上面舉例,我們可以在本機設定簡單的帳密,在產品環境設定複雜的帳密。而不需要在程式碼寫死資料庫的帳密。

配置檔該使用什麼格式呢?

從古自今,在工程師界的config檔案格式,從來都沒有固定,單單只看工程師們想選用什麼格式。
檔案格式也可以純粹是文字檔(.txt),而一般常使用的格式有xml、ini、json、yaml、toml等格式。
其實就算沒有任何格式也可以,只要工程師在程式中有辦法讀取並解析就可以了。/images/emoticon/emoticon12.gif

小結

工程師們開發專案時,除了寫寫程式、如何優化程式之外,其實也要考慮到程式運行在每個環境的時候,如何連接與專案產品關聯的服務。
使用配置檔(Config)也可以幫助團隊思考,需要搭建哪些與專案相依的資料庫、API服務。以及思緒專案之間共用的服務流程合不合理。

明天我們將實作如何在程式中載入config,去做使用。明天見囉/images/emoticon/emoticon29.gif

ps. 由於最近工作繁忙,差點趕不上截止時間,所以先發表文章以免中斷,敬請見諒/images/emoticon/emoticon68.gif


上一篇
Day03 原來這就是傳說中的API!
下一篇
Day05 動手作配置管理(Config)
系列文
在後端漫遊,基礎N大建設6
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言